/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ces31.ChineseDicesCommon;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 *
 * @author Anderson Aiziro
 */
public interface ServidorInterface extends Remote{
    /**
    * Dados do servidor que o cliente deve saber para poder se conectar
    */
    public static String bindname = "ChineseDicesServer";
    
    public static int port = 1098;

    /**
     * Interfaces do servidor. Interfaces acessadas pelo cliente para executar ação no servidor
     */


    
 /**
  * Conecta o usuario ao servidor
  *
  * @param IPUsuario
  * @param nome
  * @throws java.rmi.RemoteException
  */
    public void conectarJogador(String IPUsuario, String nome) throws RemoteException;

/**
 * Finaliza a rodada. Informa ao servidor que um dos jogadores realizou a acao de duvidar
 *
 *@throws java.rmi.RemoteException
 */
    public void finalizarRodada() throws RemoteException;


 /**
 * Abandona o jogo. Informa o servidor que o usuario desistiu da partida
 * 
 * @param client
 * @throws java.rmi.RemoteException
 */
    public void finalizarJogoPorDesistencia(ClienteInterface client) throws RemoteException;


 /**
 * Abandona a sala de espera antes que a partida seja iniciada
 *
 * @param name
 * @throws java.rmi.RemoteException
 */
    public void desconectarJogador(String name) throws RemoteException;

/**
 * Envia afirmacao ao servidor para que o servidor realize o broadcast da mensagem.
 *
 * @param client
 * @param quantity
 * @param value
 * @throws java.rmi.RemoteException
 */
    public void encaminharAfirmacao(ClienteInterface client, Integer quantity, Integer value) throws RemoteException;

}
